/**
 * 根据年份和周数获取周开始日期
 * @param year 年份
 * @param week 周数
 * @returns 周开始日期
 */
export const getWeekStartDate = (year: number, week: number): Date => {
  // 创建该年的第一天
  const januaryFirst = new Date(year, 0, 1)

  // 获取该年第一周的周四（用于确定第一周）
  const firstThursday = new Date(januaryFirst)
  firstThursday.setDate(januaryFirst.getDate() + ((11 - januaryFirst.getDay()) % 7))

  // 获取第一周的周一
  const firstMonday = new Date(firstThursday)
  firstMonday.setDate(firstThursday.getDate() - 3)

  // 计算目标周的周一日期
  const targetMonday = new Date(firstMonday)
  targetMonday.setDate(firstMonday.getDate() + (week - 1) * 7)

  return targetMonday
}

/**
 * 格式化日期为 MM.DD 格式
 * @param date 日期对象
 * @returns MM.DD 格式的字符串
 */
export const formatMonthDay = (date: Date): string => {
  const month = (date.getMonth() + 1).toString().padStart(2, '0')
  const day = date.getDate().toString().padStart(2, '0')
  return `${month}.${day}`
}